package org.opens.javaskill.lombok;

import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import org.junit.Test;
import org.opens.mybatisplus.pojo.FormatPojo;

public class Decoupling {

    /**
     * 功能:
     *      -输出
     *          start_time
     *          --引申
     *              修改FormatPojo类的startTime字段名称为startTime1就会使该方法报错.
     *      -说明
     *          这种方式乍一看感觉很费事, 但是仔细想想这种方式可以做到将DO和程序解耦(非完全解耦), 是一种提高代码寿命很显著的技术手段.
     *          --引申
     *              1. 之所以说这个是非完全解耦, 是因为它不能像静态变量那样无论你怎么修改字段名称, 只要不修改静态变量的变量名就不会
     *                 导致程序错误, 但是使用lombok注解实现半自动能实现的功能时: 在你修改字段名称之后, 使你的程序报错, 无法通过编译,
     *                 这样, 也相当于是将DO的属性和程序解耦了一般, 所以称为非完全解耦.
     */
    @Test
    public void test1() {
        System.out.println(StringUtils.camelToUnderline(FormatPojo.Fields.startTime));
    }

}
